/**
 * 封装uni.request
 * @param {*} url 路径
 * @param {*} method 请求方法
 * @param {*} data 参数
 * @param {*} header 请求头
 */
// 后台基地址
const BASE_URL = 'https://api-ugo-dev.itheima.net';

export default async function request({url, method, data, header}) {
  // 请求之前添加加载效果
  uni.showLoading({
    title: '加载中...',
    mask: true
  });
  // 数组解构，返回的是数组，第一项是错误信息，第二项是数据对象
  let [error, res] = await uni.request({
    url: `${BASE_URL}${url}`,
    method,
    data,
    header
  });
  if (!error) {
    // 处理返回的数据
    let {data:{message, meta}} = res;
    // 关闭加载效果
    uni.hideLoading();
    // 返回需要的数据,改造一下
    return {
      msg: meta,
      data: message
    }
  } else {
    return [];
  }
}

// vue插件
const MyRequest = {
  install(Vue) {
    Vue.prototype.request = request;
  }
};
// 导出插件
export { MyRequest };